package rec;

import java.util.List;

/**
 * 一、 递归
 * 1. 汉诺塔
 * 2024-11-3
 */
public class demo1 {
    public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {
        dfs(A, B, C, A.size());
    }

    public void dfs(List<Integer> A, List<Integer> B, List<Integer> C, int n) {
        if(n == 1){
            C.add(A.remove(A.size() - 1));
            return;
        }
        dfs(A, C, B, n-1);
        C.add(A.remove(A.size() - 1));
        dfs(B, A, C, n-1);
    }

    public void hanota1(List<Integer> A, List<Integer> B, List<Integer> C) {
        for(int x : A)
            C.add(x);
    }
}
